]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ControlsManagerLayout: Use the workarea size to compute the available height
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Fri, 18 Jun 2021 17:28:55 +0000 (19:28 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 16 Jul 2021 22:25:50 +0000 (00:25 +0200)
To compute the available height for the layout we're currently using the
panel position, while this works for the current and default setup, the
shell may be configured to use a different workarea, so we should rely on
it to compute the available space, instead of a specific widget.

So get the current monitor index for the current view and use its coordinates
instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>

js/ui/overviewControls.js

index c153161696b80f5b192c8bf028ba1959fca01c8c..df098ace958c6d4b504e7ecce57a959db2e429f8 100644 (file)
@@ -131,11 +131,10 @@ class ControlsManagerLayout extends Clutter.BoxLayout {
 
         const { spacing } = this;
 
-        let startY = 0;
-        if (Main.layoutManager.panelBox.y === Main.layoutManager.primaryMonitor.y) {
-            startY = Main.layoutManager.panelBox.height;
-            box.y1 += startY;
-        }
+        const monitor = Main.layoutManager.findMonitorForActor(this._container);
+        const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index);
+        const startY = workArea.y - monitor.y;
+        box.y1 += startY;
         const [width, height] = box.get_size();
         let availableHeight = height;